import http from './http'
import Vue from 'vue'

/**
 * 用户相关 API 方法集合
 */
const api = {
  /**
   * 用户登录
   * @param {Object} data - 登录信息
   * @returns {Promise} 返回一个 Promise 对象，包含请求结果
   */
  login: data => {
    return http.post('system/login', {
      username: data.username,
      password: data.password
    })
      .catch(error => {
        console.error('登录失败:', error)
        throw error
      })
  },

  /**
   * 获取用户列表
   * @returns {Promise} 返回一个 Promise 对象，包含请求结果
   */
  getUserList: data => {
    return http.get(`user/getUserList?pageNum=${data.pageNum}&pageSize=${data.pageSize}`)
      .catch(error => {
        console.error('获取用户列表失败:', error)
        throw error
      })
  },

/**
   * 新增用户
   * @returns {Promise} 返回一个 Promise 对象，包含请求结果
   */
  saveUser: data => {
    return http.post('user/saveUser', data)
      .catch(error => {
        console.error('新增用户失败:', error)
        throw error
      })
  },

  /**
   * 更新用户
   * @param {Object} data - 用户数据
   * @returns {Promise} 返回一个 Promise 对象，包含请求结果
   */
  updateUser: data => {
    return http.post('user/updateUser', data)
      .catch(error => {
        console.error('更新用户失败:', error)
        throw error
      })
  },

  /**
   * 删除用户
   * @param {Object} data - 用户ID
   * @returns {Promise} 返回一个 Promise 对象，包含请求结果
   */
  deleteUser: userId => {
    return http.get(`user/delete/${userId}`)
      .catch(error => {
        console.error('删除用户失败:', error)
        throw error
      })
  }
}

// 将 API 方法挂载到 Vue 原型上
Vue.prototype.$userapi = api
export default api
